package cn.hcbycloud.common.jwt.service.jwt;

import cn.hcbycloud.common.jwt.vo.JwtToken;

/**
 * @author gaoh
 * @desc 实现JWTredis缓存配置
 * @date 2022年01月13日 下午 3:20
 */
public interface  JwtRedisCacheService {
    /**
     * 设置token在缓存数据库中的失效天数
     * @return
     */
    Integer getTokenExpireDays();

    /**
     * 向缓存中存储JWTToken对象实例
     * @param jwtToken
     */
    void setTokenToCache(JwtToken jwtToken);

    /**
     * 从缓存中获取Token
     * @param jwtToken
     * @return
     */
    JwtToken getTokenFromCache(JwtToken jwtToken);

    /**
     * 删除缓存中的token
     * @param jwtToken
     */
    void  removeTokenFromCache(JwtToken jwtToken);

    /**
     * 检测缓存中是否存在token
     * @param jwtToken
     * @return
     */
    boolean hasToken(JwtToken jwtToken);
}